Skip to content

chore: prepare 0.2.4 with PostgreSQL lock-safety fix - #31

Merged
ChrisKrawczyk merged 1 commit into
mainfrom
feature/postgres-lock-safety-0.2.4
Oct 28, 2026
Merged

ChrisKrawczyk merged 1 commit into
mainfrom
feature/postgres-lock-safety-0.2.4

Conversation

@ChrisKrawczyk

Copy link
Copy Markdown
Contributor

Summary

Release dependency

Draft: blocked by microsoft/duroxide-pg#50 and publication of the 0.1.38 crate.

The provider release PR does not publish the crate. A maintainer must complete
that separate release process before this branch can pass its registry-only
builds. Do not merge or publish this native release until the crate is available
and the existing cross-platform builds, SDK tests and package smoke checks pass.

There are no local source patches, Git dependency overrides, replacement
binaries or invented package checksums in this PR.

Validation

  • Passed: all six package versions and all five optional native pins agree.
  • Passed: generated lockfile root matches the manifest; existing tool dependencies are unchanged.
  • Passed: npm pack --dry-run --ignore-scripts and git diff --check.
  • Blocked: Linux cargo metadata --format-version 1, using repository toolchain
    Rust 1.97.1, cannot resolve duroxide-pg = "^0.1.38" because crates.io still
    publishes 0.1.37 as the latest version.
  • Native builds, SDK regression tests and cross-platform package smoke checks
    remain required. No runtime qualification is claimed.

Upgrade and publication notes

Connecting to PostgreSQL applies migration 0026. Its unique index on
instance_locks(lock_token) is not built concurrently. Qualify write interruption,
mixed-version operation and rollback before a production rollout. An older
native build can reject an unknown applied migration; reinstalling its npm
package does not undo the database migration.

The fix addresses renewal/fetch/acknowledge/abandon races. It does not claim to
resolve the separate fetch-vs-fetch deadlock in microsoft/duroxide-pg#34.

Python parity was checked: duroxide-python still declares provider 0.1.37.
This PR has no wrapper, handler or public API changes. Its dependency adoption
must be coordinated separately for Python.

After merge and successful qualification, a Microsoft maintainer publishes the
six npm packages through the existing internal release process. This PR does
not publish packages or create a GitHub Release.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: f0e4a2b7-cb07-472c-8af1-62da8abd5a63
@ChrisKrawczyk
ChrisKrawczyk marked this pull request as ready for review October 27, 2026 22:51
@ChrisKrawczyk

Copy link
Copy Markdown
Contributor Author

Provider release preparation has advanced: microsoft/duroxide-pg#50 is squash-merged as 54255d1664ca630fe9d3501502dfdba5dec455f9, and annotated tag v0.1.38 points to that exact commit (tag object 57edd20626d07594a86f718bfb315842c1f742c1). The provider release policy makes tagging separate from internal crate publication. This PR remains draft until duroxide-pg 0.1.38 is published to crates.io and the registry-only native builds and required tests pass. No dependency override or CI gate change has been made.

@ChrisKrawczyk
ChrisKrawczyk merged commit 7722f19 into main Oct 28, 2026
16 of 21 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants